<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>盈数</title>
  <script>
    //2. 盈数是一种特殊的自然数，除去它本身以外的一切正约数的和大于它本身。与完美数类似。
    // 使用函数方法编写一段程序。输出1~100的所有盈数。
    (function problem2() {
      //循环1-100
      for (let i = 1; i < 101; i++) {
        if (szqh(qbys(i)) > i) {
          console.log(i + ' 是盈数')
        }
      }
    })(); //立即执行函数


    //功能：求参数的全部约数（包括1但不包括自身）
    // 参数：正整数
    function qbys(x) {
      // 创建约数数组
      var ys = [];
      //循环
      for (let i = 1; i <= x / 2; i++) {
        //满足约数条件添加进数组
        if (x % i === 0) {
          ys.push(i);
        }
      }
      //返回数组
      return ys;
    }


    //功能：数组求和
    //参数：纯整数类型数组
    function szqh(x) {
      //累加器
      var he = 0;
      //循环
      for (let i = 0; i < x.length; i++) {
        //累加
        he += x[i];
      }
      //返回累加器
      return he;
    }
  </script>
</head>

<body>

</body>

</html>